Standard ML - определение. Что такое Standard ML
Diclib.com
Словарь онлайн

Что (кто) такое Standard ML - определение

PROGRAMMING LANGUAGE
SML (programming language); SML programming language; Moscow ML; Standard ml; Standard ML (programming language); Mosml; Opaque ascription; MoscowML; Poly/ML

Standard ML         
<language> (SML) Originally an attempt by Robin Milner <rm@lfcs.edinburgh.ac.uk> ca. 1984 to unify the dialects of ML, SML has evolved into a robust general-purpose language. Later versions have been maintained by D. B. MacQueen, Lal George <george@research.att.com>, and J. H. Reppy <jhr@research.att.com> at AT&T, and A. W. Appel <appel@princeton.edu>. SML is functional, with imperative programming features. It is environment based and strict. It adds to ML the call-by-pattern of Hope, recursive data types, reference types, typed exceptions, and modules. (The "core" language excludes the modules). Standard ML is polymorphically typed and its module system supports flexible yet secure large-scale programming. Standard ML of New Jersey is an optimising {native-code compiler} for Standard ML that is written in Standard ML. It runs on a wide range of architectures. The distribution also contains: an extensive library - The Standard ML of New Jersey Library, including detailed documentation; Concurrent ML (CML); eXene - an elegant interface to X11 (based on CML); SourceGroup - a separate compilation and "make" facility. Implementations: SML/NJ, POPLOG ML, Poly/ML, {Edinburgh SML}, ANU ML, Micro ML, lazy sml2c. sml2c compiles to C. See also ML Kit. Version 0.93 runs on 68000, SPARC, MIPS, HPPA, RS/6000, Intel 386, Intel 486 and Macintosh. {Manual (http://dcs.napier.ac.uk/course-notes/sml/manual.html)}. ml/">FTP from ATT (ftp://research.att.com/dist/ml/). FTP from Suny SB (ftp://sbcs.sunysb.edu/). Mailing list: sml-request@cs.cmu.edu. ["A Proposal for Standard ML", R. Milner, ACM Symp on LISP and Functional Prog 1984, pp. 184-197]. (1995-12-24)
Moscow ML         
A light-weight implementation of Standard ML written by Sergei Romanenko <sergei-romanenko@refal.msk.su> of the Keldysh Institute of Applied Mathematics with assistance from Peter Sestoft <sestoft@dina.kvl.dk>, {Royal Veterinary and Agricultural University}. Moscow ML is based on {CAML Light}. Version: 1.20 implements the Standard ML Core language. The sublanguage of Modules implemented by Moscow ML contains signatures and non-nested structures, and identifies structures with source files. It is certainly less expressive than the full Standard ML Modules language, but the type-safe separate compilation facility is simple, useful, and easy to use. It is the intention to implement the full Standard ML Modules language (including functors) in due course. Compilation of a signature produces a compiled interface file, which is used when compiling other signatures and structures. Compilation of a structure produces a bytecode file. Bytecode files are compact and load fast. For instance, a 3250-line program consisting of 24 structures and 17 signatures compiles to 221 KB of bytecode and 241 KB of compiled signatures. Starting the ML system and loading the 24 bytecode files takes 1-2 cpu seconds plus network delays, less that 5 seconds real time in all. Release 1.20 permits loading of precompiled bytecode files into the top-level interactive session. The next release will be able to create stand-alone executables by linking bytecode files. There is a mechanism for adding basis libraries, as in {Caml Light}. Release 1.20 includes the basis libraries Array, List, and Vector and the MS-DOS version includes the Graphics library from Caml Light. In principle, Moscow ML can be compiled on any platform supported by Caml Light. So far we have tried {Intel 80386}-based IBM PCs running MS-DOS, Microsoft Windows, OS/2 or Linux, DEC MIPS running Ultrix, DEC Alpha running OSF/1, Sun-4 running SunOS, HP9000 running HP/UX, SGI MIPS running IRIX 5. Moscow ML is particularly useful when fast compilation and modest storage consumption are more important than fast program execution. Thanks to the efficient Caml Light run-time system used in Moscow ML, it compiles fast and uses little memory, typically 5-10 times less memory than SML/NJ 0.93 and 2-3 times less than Edinburgh ML. Yet the bytecode is only 3 to 10 times slower than SML/NJ 0.93 compiled native code (fast on {IBM PCs}, slower on RISCs). {DOS (ftp://dina.kvl.dk/pub/Peter.Sestoft/mosml/mos12bin.zip)}. {Linux (ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/linux-mos12bin.tar.gz)}. {Source (ftp://dina.kvl.dk:pub/Peter.Sestoft/mosml/mos12src.tar.gz)}. Caml Light 0.61 and gcc are required to recompile Moscow ML for Unix or Caml Light 0.61, djgpp, Perl, and Borland C++ version 2.0 (or later) to recompile Moscow ML for DOS. (1994-12-12)
Poly/ML         
<language> SML implemented in D.C.J. Matthews's Poly, for Motorola 68020 and SPARC by Abstract Hardware Ltd. (1999-11-23)

Википедия

Standard ML

Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type inference. It is popular among compiler writers and programming language researchers, as well as in the development of theorem provers.

Standard ML is a modern dialect of ML, the language used in the Logic for Computable Functions (LCF) theorem-proving project. It is distinctive among widely used languages in that it has a formal specification, given as typing rules and operational semantics in The Definition of Standard ML.